package com.gdev.androfuel;

import java.io.Serializable;


import android.content.Context;
import android.database.Cursor;
import android.util.Log;

@SuppressWarnings("serial")
public class StationBean implements Serializable {

	/** Id du Plein. */
	private long idStation;

	/** Date du plein. */
	private String marque = "";

	/** Km total */
	private String lieu = "";
	
	/**
	 * Constructeur.
	 * @param idStation
	 * @param marque
	 * @param lieu
	 */
	public StationBean(long idStation, String marque, String lieu) {
		super();
		this.idStation = idStation;
		this.marque = marque;
		this.lieu = lieu;
	}
	
	public StationBean() {
	}
	
	public StationBean(Context ctx, PleinsDbAdapter mDbHelper, long idStation) {
		this.idStation = idStation;
		Cursor stationCursor = mDbHelper.fetchStation(idStation);
		this.marque = stationCursor.getString(stationCursor.getColumnIndexOrThrow(PleinsDbAdapter.KEY_MARQUE));
		this.lieu = stationCursor.getString(stationCursor.getColumnIndexOrThrow(PleinsDbAdapter.KEY_LIEU));
	}
 	
	/**
	 * Sauvegarde en base 
	 */
	public boolean saveStation(Context ctx, PleinsDbAdapter mDbHelper) {
		boolean retourSauvegarde = true;
		Log.d("GCar0burant", "Debut save station : " + this.idStation);
		if(this.idStation == 0) {
			Log.d("GCarburant", "Save donne create : " + this.idStation);
			this.idStation = mDbHelper.createStation(this.marque, this.lieu);
			if(this.idStation == -1) { retourSauvegarde = false; }
		} else {
			Log.d("GCarburant", "Save donne update : " + this.idStation);
			retourSauvegarde = mDbHelper.updateStation(this.idStation, this.marque, this.lieu);
		}
		return retourSauvegarde;
	}
	
	public void loadStation(Context ctx, PleinsDbAdapter mDbHelper) {
		Cursor stationCursor = mDbHelper.fetchStation(this.idStation);
		this.marque = stationCursor.getString(stationCursor.getColumnIndexOrThrow(PleinsDbAdapter.KEY_MARQUE));
		this.lieu = stationCursor.getString(stationCursor.getColumnIndexOrThrow(PleinsDbAdapter.KEY_LIEU));
	}
	
	/**
	 * Methode pour l'affichage dans la listView.
	 */
	public String toString() {
		return marque + ", " + lieu;
	}

	/**
	 * Methode pour l'affichage dans la listView.
	 */
	public String toExport() {
		return "1;" + this.idStation + ";" + 
			this.marque + ";" + 
			this.lieu + ";";
	}
	
	public long getidStation() {
		return idStation;
	}

	public String getMarque() {
		return marque;
	}

	public void setMarque(String marque) {
		this.marque = marque;
	}

	public String getLieu() {
		return lieu;
	}

	public void setLieu(String lieu) {
		this.lieu = lieu;
	}
}
